This invention is in the field of electrical communications and relates to data processing systems having an internal program element and which represent numerical information by electromagnetic radiation of optical wavelengths, and more particularly relates to such systems as may be applied to pattern recognition.
In early optical computers, input numerical quantities were represented by the optical transmission at one particular point on a photographic transparency and the output by the optical intensity of light rays. When a ray passed through a point on the transparency, an attenuation occurred that represented a multiplication and when several rays converged to a point the intensities combined linearly to provide an additive capability. An account of these "incoherent" optical computers has been given by B. J. Howell, Jour. Optical Soc. Am., Vol. 49, No. 10, p. 1012, Oct. 1959. A typical device of this type directed a ray only once through the input transparency and hence was limited to output functions linear in the input. By redirecting the rays through fibers to repeated passage through the input transparency, Gamba, U.S. Pat. No. 3,323,407, constructed a computer which evaluates nonlinear polynomial functions of the input. A disadvantage of that technique is that the coefficients of the polynomial could not be controlled but were necessarily random; however, Gamba showed that even then, polynomial functions could be very useful in pattern recognition, after a second optical processing stage.
In the 1950's, it was recognized that numbers could be represented by the complex amplitude of the rays, provided the light was sufficiently coherent. When output numbers are represented by the amplitude of coherent optical beams with addition represented by the addition of amplitudes of combined beams, negative numbers can be represented by negative amplitudes. Also subtraction can be performed by destructive interference of the combined beams. This passive coherent optical data processing scheme substantially extended the capacity of incoherent optical computers which could neither represent negative numbers (since intensity can only be positive) nor perform subtraction.
When coherent light was used, it was found practical to direct light through the device by diffraction and to represent input data by the diffractive properties of an input transparency. A typical device of this type is given by C. O. Carlson, U.S. Pat. No. 3,085,469. Although capable of handling certain data processing problems faster than electronic computers, it was found difficult to use negative input data since this required controlling the phase of the rays passing through the transparency. This difficulty was overcome by the introduction of holographic methods. In holography, a data value (or image point) is recorded as a dispersed holographic element (e.g., a photographic "diffraction grating") on either a photographic film or through the volume of a photosensitive block, rather than as a concentration (or point) of photosensitive material. It was found that the "diffraction efficiency" of these overlapping elements was individually controllable to form visible images or to act multiplicatively on the diffracted beam in both phase and amplitude. An excellent account of holography has been given by R. J. Collier, IEEE Spectrum, Vol. 3, p. 67, July 1966. Collier also mentions how holograms can act as synthetic mirrors. In an article in IEEE Spectrum, Vol. 1, p. 101, Oct. 1964, L. J. Cutrona shows how the masks of earlier optical computers can be replaced with holograms to allow linear computations with negative or complex numbers. In particular, he cites B. A. Vander Lugt, IEEE Trans. Information Theory, Vol. IT-10, No. 2, p. 139, Apr. 1964, who shows how complex spatial filters (a special type of linear operation) can be used in pattern recognition by means of an electronic threshold device. Recognition is indicated by a sufficiently bright spot (output value) in the pictorial output of the holographic device. This threshold operation is performed by scanning the output image with an electron beam scanning device and the threshold output is an electronic signal. An optical threshold indication can be produced only by a second scanning process.
The optical parts of these devices are usually called coherent optical computers (the electron beam scanner part is excluded from the definition of this term). Coherent optical computers are characterized by their representation of input data by the diffractive properties of an input film (or hologram), diffraction of optical input beams incident on this film (or hologram) to perform multiplication, combining these diffracted beams to perform addition and representing the results of the computing operation by the amplitudes of coherent optical beams. They may also contain one or more other diffractive films (or holograms) which serve to direct optical beams and store the coefficients of the linear operators which the computer evaluates. For example, in Vander Lugt's device, this coefficient store is called "the holographic spatial filter", and acts essentially as a read-only memory for this computer.
In coherent optical computers, optical energy is furnished to the computer by one or more specifically directed optical rays or beams. The function which the computer evaluates at any particular output point or on any particular output beam may be changed by providing alternate optical input rays of beams. Typically this causes beams to impinge on the coefficient store (or hologram) from a different direction or to be incident on a different part of the coefficient store (or hologram) so as to alter the coefficients of the linear form which the computer evaluates. Providing such an alternate optical beam is thus equivalent to providing a different program for the computer.
Data processing speeds of coherent optical computers are usually very high because many output values are computed simultaneously in parallel from the input data. Typically each output beam corresponds to a separate point on an output image. However, these computers can evaluate only linear functions. Nonlinearities (such as threshold operations) must be introduced electronically thus destroying the parallel action and high data rate. Another limitation of coherent optical computers is that they are passive (non-amplifying) and their output beams are of quite low intensity. A following stage of optical parallel processing is therefore not practical.
In co-pending application Ser. No. 679,552 filed Apr. 23, 1976, entitled Coherent Optical Computer for Polynomial Evaluation, the applicant has disclosed how the above described coherent optical computers may be improved by redirecting beams diffracted by a hologram representing input data so that such beams are diffracted again by that hologram, thus producing beams with amplitudes proportional to powers and products of input variables. Several such beams can be combined to produce output beams having amplitudes proportional to nonlinear polynomial functions of the input variables, a holographic analog of Gamba's invention. If the input data are suitably presented and the output beams suitably interpreted, these nonlinear polynomials may be considered as Boolean polynomials or logic functions.
Since any logic function may be represented as a Boolean polynomial, the above described polynomial computers are potentially widely applicable. The usefulness of real valued polynomials (truncated power series) for approximating continuous functions is well known. The application of polynomial discriminant functions to pattern recognition has been described by D. F. Specht, IEEE Trans. Electronic Computers, Vol. EC-16, No. 3, p. 308, June 1967. However, these coherent optical polynomial computers are not able to perform threshold operations, nor do they have any amplifying action.
The intense source of coherent light needed for coherent optical computers was supplied with the invention of the laser by A. L. Schawlow and C. H. Townes, Physical Review, Vol. 112, No. 6, p. 1940, Dec. 1958. The laser is an optically resonant cavity in which an optically amplifying medium is included. Most cavities have very many oscillating modes and Schawlow and Townes showed how to suppress all but one mode (corresponding to an individual ray or point source) in order to get light of the greatest coherence. Later it was found that multi-mode lasers are useful, e.g., the controllable multiple ray outputs can be used in optical scanning as described by R. V. Pole, et al., on page 351 of Optical and Electrooptical Information Processing, M. I. T. Press, 1965. Also multi-mode lasers were employed by W. A. Hardy, U.S. Pat. No. 3,293,565 and J. A. Soules, et al., U.S. Pat. No. 3,292,103, for image amplification, each point being amplified by one mode. In a later paper entitled "Reactive Optical Information Processing", Applied Optics, Vol. 6, p. 1571, Sept. 1967, Pole, et al., have shown how the modes of a multi-mode laser may be coupled by an in-cavity hologram to make more efficient use of the coherent light. Technical information on lasers can be obtained from texts such as laser: Light Amplifiers and Oscillators, by D. Ross, published by Akademische Verlagsgesellschaft, Frankfurt am Main, in 1966. A more recent American edition is available from Academic Press.
In the meantime, a different body of computing art grew around the electronic digital computer in which all arithmetic computations are reduced to the logic functions "plus", "times" and "negation" operating on the binary numbers "0" and "1". See, for example, the article by D. C. Evans, Scientific American, Vol. 215, No. 3, p. 75, Sept. 1966. These general purpose computers, so common today, are serially organized according to a concept first described by Von Neumann, et al., in 1946, i.e., they calculate one step at a time according to a stored program. See, for example, the book Computers, by Shirley Thomas, Holt, Rinehart & Winston, N.Y., 1965. This serial nature is in sharp contrast to the parallel nature of the optical computers previously discussed. In mathematical terms, the computers described by Howell and Cutrona compute a multitude of linear functions of (or "functionals of" or "operators on") the input variables (or input data, or input), and they compute each of these very many functions simultaneously. This parallel organization allows an inexpensive optical computer to compute its limited repertoire of functions much faster than even the most expensive electronic serial computer. The basic limitation on speed in the serial computer is the necessity of transferring information from the memory in the course of performing one step. The speed of this operation is limited by the size of the computer and the rate at which its signals travel. Efforts have been made to speed up the serial computer by using light to transfer information and using optical logic elements.
One such invention by Kosonocky, U.S. Pat. No. 3,270,291, uses a saturable absorber material in a laser cavity to convert the laser into a bistable element, the two states representing the binary numbers "0" and "1". Optical input signals over a certain threshold intensity bleach the saturable absorber thus stimulating laser oscillation and its consequent intense optical emission. Such a device is said to be active since it is a source of optical energy. Typically it has an amplifying action since the output is greater than the input. However, this approach has not greatly improved computer speed because electrical signals already travel nearly as fast as light, and this device does not possess the parallel capability of the passive optical computers previously discussed.
The examples cited above illustrate the present status of the uses of optics in data processors. If a parallel computing capability is attained, the computer is passive and cannot perform a threshold operation. If a threshold action bistable output and amplification are attained, the device does not have a highly parallel action and must be used serially. The multi-mode lasers of Hardy and Pole tend to bridge this gap since they are active and have a parallel image processing capability, but their input and output are not optical beams of the same frequency and coherence (i.e., not compatible) so they cannot be linked with each other and with coherent optical computers to form optical data processing systems which perform successive stages of optical parallel processing. The Soules laser lacks a threshold action on optical beams and a bistable state of mode oscillation. This gap in optical computing components may have led some to conclude that an all optical general purpose parallel computer was not practical. See, for example, the article by W. V. Smith in Applied Optics, Vol. 5, No. 5, p. 1533, Oct. 1966.
In the co-pending application Ser. No. 677,391 filed Apr. 15, 1976, entitled Multi-mode Threshold Laser, the applicant has disclosed a new type of active bistable threshold device with a parallel processing capability. The multi-mode threshold laser can apply a threshold operation to a projected optical image (such as a coherent optical computer output image) and produce an optical output in the form of one or more laser beams, each beam corresponding to an image point above threshold. The multi-mode threshold laser has a compatible input and output and can therefore be linked with itself and with coherent optical computers to form an optical parallel computing system which can perform successive stages of optical parallel processing. Each mode of the multi-mode threshold laser acts as a (bistable) optical logic element and these elements can act simultaneously in parallel to evaluate logic functions of suitably coded optical input beams. The multi-mode threshold laser thus tends to merge the various branches of the optical computing art by providing an active parallel optical computing device capable of both image (analogical) processing and logical (digital) operations. However, the co-pending application cited above does not describe optical computing systems in which the multi-mode threshold laser is combined with either conventional linear coherent optical computers or with the improved nonlinear coherent optical (polynomial) computers previously mentioned.
The above review of the prior computing art has shown how coherent optical computers can achieve very high computing rates by parallel operation but with the limitation that only polynomial functions of the input data may be computed. Beyond this, even the simplest step such as performing a threshold operation on the output typically requires a scanning technique which is basically serial or sequential in nature. Furthermore, this scanning is electronic and the coherent optical representation of the signal is lost, slowing the operation still further if other stages of optical processing are needed. This review has also mentioned that electronic computers can compute any function but are serial in nature and therefore inherently limited in speed.